495cb485219b51f07e6e971f98307baac24cf2c5,src/com/itmill/toolkit/terminal/gwt/client/ui/IPopupCalendar.java,IPopupCalendar,onClick,#Widget#,41
Before Change
public void onClick(Widget sender) {
if(sender == calendarToggle) {
calendar.updateCalendar();
popup.setPopupPosition(calendarToggle.getAbsoluteLeft(), calendarToggle.getAbsoluteTop() + calendarToggle.getOffsetHeight() + 2);
popup.show();
popup.setWidth(calendar.getOffsetWidth() + "px");
popup.setHeight(calendar.getOffsetHeight() + "px");
After Change
if(l+w > Window.getClientWidth())
l = Window.getClientWidth() - w;
if(t+h > Window.getClientHeight())
t = Window.getClientHeight() - h - calendarToggle.getOffsetHeight() - 2;
popup.setPopupPosition(l, t + calendarToggle.getOffsetHeight() + 2);
popup.setWidth(w + "px");
popup.setHeight(h + "px");
}